// src/renderer/renderer.js  （渲染进程入口）
import { createApp } from 'vue'
import App from './App.vue'
import IconItem from './components/IconItem.vue'
import test from './components/test.vue'
import DockBar from './components/DockBar.vue'

import { createPinia } from 'pinia'
// 生成「仓库管理员」实例  
const pinia = createPinia()

// use(pinia) 把管理员注册到 Vue 实例
createApp(App).use(pinia).mount('#app')
//覆盖默认的 App 实例
// createApp(App).mount('#app')


// 与主进程通信的示范
const { ipcRenderer } = require('electron');
//解释代码 ： 这行代码获取了 Node.js 版本号，并将其显示在页面上。
//解释代码： process.versions.node代表当前渲染进程的 Node.js 版本号
//.textContent =把获取到的那个元素的文本内容设置为当前 Node.js 的版本号，process 是 Node.js 提供的全局对象，表示当前 Node.js 进程。
//process.versions 是一个对象，包含了当前 Node.js 及其依赖的版本信息。
//process.versions.node 是一个字符串，表示当前 Node.js 的版本号，比如 "18.17.0"。


// document.getElementById('node-version').textContent = process.versions.node;


//给按钮注册一个点击回调，回调是 async 箭头函数，所以内部可以用 await。
//ipcRenderer 是 Electron 渲染进程里的模块，专门负责跟“主进程”说话。
// .invoke('ping') 是一种“问一句等一句”的 IPC 调用：
// – 渲染进程发一个通道名叫 'ping' 的消息给主进程；
// – 主进程需要提前通过 ipcMain.handle('ping', ...) 注册好处理函数；
// – 主进程处理完后把返回值再发回来，这里就被 await 拿到，赋给 reply
//点击按钮 → 渲染进程问主进程“ping” → 主进程回话 → 把回话内容打印到 DevTools 控制台。

// document.getElementById('btn').addEventListener('click', async () => {
//   const reply = await ipcRenderer.invoke('ping');
//   console.log('Main replied:', reply);
// });